home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / paral / comp.sys.handhelds_4629_000000.msg
Internet Message Format  |  1995-03-31  |  7KB

  1. Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!uunet!shelby!agate!darkstar!ucsco!sandy47
  2. From: sandy47@.ucsc.edu (Larry McElhiney)
  3. Newsgroups: comp.sys.handhelds
  4. Subject: Resistors in Parallel (Program)
  5. Message-ID: <12876@darkstar.ucsc.edu>
  6. Date: 27 Feb 91 19:33:40 GMT
  7. Sender: usenet@darkstar.ucsc.edu
  8. Organization: University of California, Santa Cruz Open Access Computing
  9. Lines: 177
  10.  
  11.  
  12. Article posted for a fellow engineer (Larry Hoppis).   
  13.  
  14.             Larry
  15.  
  16. -------
  17.  
  18. The following HP48 program which finds parallel resistance elements 
  19. will be useful for both electronics technicians and hobbyists. 
  20.  
  21. USE:  Put the value of the resistance you want on the stack and press 
  22. PARAL (softkey 'A' in the 'CST' menu). PARAL presents a list of values 
  23. (standard 1%) which when paralleled will yield the desired value. The 
  24. accuracy of each combination is also displayed. The required accuracy 
  25. is specified by the variable ACCU.  The soft key ACCUR ('B') stores 
  26. and retrieves this accuracy variable. 
  27.  
  28. Pressing any key while PARAL is running will advance the display to 
  29. the next 'page' of values. The previous 'page' may be displayed by 
  30. pressing the soft key PREV ('E'). The program may be exited by 
  31. pressing softkey QUIT ('F'). Note that the soft key functions will not 
  32. be visible during the execution of the program but will continue to 
  33. function normally. 
  34.  
  35. THEORY:  PARAL uses an equation derived with the HP48 from a list of 
  36. valid 1% values.  This list was created using the formula 
  37.  
  38.          INV(96)
  39.  X = X*10        for all values between 1 ohm and 1 G ohm
  40.  
  41.                                 0.0239852613838*X
  42. The HP48 found  0.976300098965*e                  
  43.  
  44. This equation and its inverse form the basis of PARAL. When X is any 
  45. integer a unique one percent value will be found. The values created 
  46. with this equation must then be rounded to 3 digits in order to 
  47. represent the standard one percent value set. The inverse of this 
  48. equation creates n 'bins' which, when integer, represent the nth one 
  49. percent value.    
  50.  
  51. PARAL is accurate to at least 4 decimal places for all values 
  52. from 1 ohm to 9.76E499 ohms (now that's a big resistor *:-)). 
  53.  
  54. SPECIAL LOADING INSTRUCTIONS: 
  55.  
  56. The GROB element must be edited and turned into a single line 
  57. before it can be loaded into the calculator.  If you are loading
  58. this program by hand :( get a cable! (or create a blank GROB and
  59. store in in BLNK).
  60.  
  61.  
  62. %%HP: T(3)A(D)F(.); 
  63.  
  64. @ PARAL - Large Version L. Hoppis 2/25/91 DONE Rev 1.1
  65.  
  66. DIR
  67.  
  68.   RPAR
  69.     \<< DUP .976300098965 / LN 2.39852613838E-2 / CEIL \-> r x
  70.       \<< PICT { # 0d # 0d } BLNK REPL { # 0d # 0d } PVIEW 
  71.         x 'INDX' STO 0 'y' STO
  72.         DO INDX 2.39852613838E-2 * EXP .976300098965 * DUP 
  73.           MANT 2 RND SWAP XPON ALOG * DUP 
  74.           r OVER * SWAP r - / 
  75.           .976300098965 / LN 2.39852613838E-2 / 
  76.           IF DUP FP .5 <
  77.             THEN FLOOR
  78.             ELSE CEIL
  79.             END 
  80.           2.39852613838E-2 * EXP .976300098965 * DUP 
  81.           MANT 2 RND SWAP XPON ALOG * DUP2 DUP2 
  82.           * ROT ROT + / r %CH
  83.           IF ABS DUP ACCU <
  84.             THEN 2 RND \->STR " %  -- " + ROT DSP " || " + 
  85.               ROT DSP + + PICT SWAP 1 \->GROB # 16d y # 7d 
  86.               * # 2d + 2 \->LIST SWAP GOR
  87.             ELSE 3 DROPN
  88.             END 'y' 1 STO+ 'INDX' 1 STO+
  89.           IF y 8 >
  90.             THEN 0 'y' STO TONE 0 WAIT
  91.               CASE DUP 15.1 == 
  92.                 THEN
  93.                   IF x 9 + INDX <
  94.                     THEN 'INDX' 18 STO-
  95.                     END
  96.                 END
  97.               END PICT { # 0d # 0d } BLNK REPL
  98.             ELSE 0
  99.             END
  100.         UNTIL 16.1 ==
  101.         END 'y' PURGE r
  102.       \>>
  103.     \>>
  104.  
  105.   DSP
  106.     \<< DUP MANT SWAP XPON
  107.         CASE 
  108.           DUP 6 \>=
  109.             THEN 6 - "M\GW"
  110.             END 
  111.           DUP 3 \>=
  112.             THEN 3 - "k\GW"
  113.             END " \GW"
  114.           END SWAP ALOG ROT * \->STR
  115.         CASE 
  116.           DUP SIZE 2 <
  117.             THEN ".00" +
  118.             END 
  119.           DUP SIZE 3 <
  120.             THEN ".0" +
  121.             END 
  122.           DUP SIZE 4 <
  123.             THEN 
  124.               IF DUP "." POS
  125.                 THEN "0" +
  126.                 END
  127.             END
  128.           END SWAP +
  129.     \>>
  130.  
  131.   TONE
  132.   \<< 5000 .02 BEEP 3000 .01 BEEP \>>
  133.   
  134.   ACCU .5
  135.  
  136.   BLNK 
  137. GROB 131 64 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF701000000000000000000000000000 
  138.             00004010000000000000000000000000000000401000000000000000000000 
  139.             00000000004010000000000000000000000000000000401000000000000000 
  140.             00000000000000004010000000000000000000000000000000401000000000 
  141.             000000000000000000000E4010000000000000000000000000000002401000 
  142.             000000000000000000000000000E4010000000000000000000000000000002 
  143.             401000000000000000000000000000000E4010000000000000000000000000 
  144.             00000040100000000000000000000000000000024010000000000000000000 
  145.             00000000000240100000000000000000000000000000024010000000000000 
  146.             000000000000000002401000000000000000000000000000000E4010000000 
  147.             00000000000000000000000040100000000000000000000000000000024010 
  148.             00000000000000000000000000000240100000000000000000000000000000 
  149.             02401000000000000000000000000000000240100000000000000000000000 
  150.             00000002401000000000000000000000000000000040100000000000000000 
  151.             00000000000002501000000000000000000000000000000650100000000000 
  152.             0000000000000000000E501000000000000000000000000000000A50100000 
  153.             00000000000000000000000002501000000000000000000000000000000040 
  154.             1000000000000000000000000000000E401000000000000000000000000000 
  155.             0002401000000000000000000000000000000E401000000000000000000000 
  156.             0000000002401000000000000000000000000000000E401000000000000000 
  157.             00000000000000004010000000000000000000000000000002401000000000 
  158.             00000000000000000000024010000000000000000000000000000002401000 
  159.             0000000000000000000000000002401000000000000000000000000000000E 
  160.             40100000000000000000000000000000004010000000000000000000000000 
  161.             00000040100000000000000000000000000000004010000000000000000000 
  162.             00000000000040100000000000000000000000000000004010000000000000 
  163.             00000000000000000040100000000000000000000000000000004010000000 
  164.             00000000000000000000000C40100000000000000000000000000000024010 
  165.             00000000000000000000000000000240100000000000000000000000000000 
  166.             02401000000000000000000000000000000C40100000000000000000000000 
  167.             00000000401000000000000000000000000000000040100000000000000000 
  168.             00000000000000401000000000000000000000000000000040100000000000
  169.             00000000000000000000401000000000000000000000000000000040100000
  170.             00000000000000000000000000401000000000000000000000000000000040
  171.             1000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFF
  172.             FFFF70 
  173.  
  174.   INDX 299
  175.  
  176.   CST { { "PARAL" { RPAR } } { "ACCUR" {\<< ACCU \>> \<< 'ACCU'STO \>> } } 
  177.         { "" { } } { "NEXT" { } } { "PREV" { } } { "QUIT" { } } }
  178.  
  179.   PPAR { (-6.5,-3.1) (6.5,3.2) X 0 (0,0) FUNCTION Y }
  180.  
  181. END
  182.  
  183. --
  184. Larry L. Hoppis         PO Box 472, Mt. Hermon, CA  95041  USA
  185. quality!hoppis@ucscc.UCSC.edu
  186.  
  187. (408) 336-3651
  188.